package br.com.jk.usuario.permissoes;

import br.com.jk.usuario.permissoes.Regra.Regras;
import br.com.jk.util.DaoFactory;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 *
 * @author camilo
 */
public class RegraRn {

  private final RegraDao dao;

  public RegraRn() {
    this.dao = DaoFactory.criarRegraDao();
  }

  public void salvar(Regra regra) {
    this.dao.salvar(regra);
  }

  public List<Regra> listar() {
    return this.dao.listar();
  }
  
  public void verificaNovaRegra(){
    List<Regras> regras2 = new ArrayList();
    regras2.addAll(Arrays.asList(Regras.values()));
    
    Integer qtdRegras = Regras.values().length;
    Integer qtdRegrasBanco = this.listar().size();
    if (qtdRegras > qtdRegrasBanco) {
      for (Integer i = qtdRegrasBanco; i < qtdRegras; i++) {
        Regra regra = new Regra();
        RegraRn rn = new RegraRn();
        System.out.println(regras2.get(i).name());
        regra.setRegra(Regras.valueOf(regras2.get(i).name()));
        rn.salvar(regra);
      }
    }
  }

  public Regra carregar(int id) {
    return this.dao.carregar(id);
  }

  public void excluir(Regra regra) {
    this.dao.excluir(regra);
  }
}
